package com.ssy.lingxi.contract.esign.constant;

/**
 * esign常量
 * @author yzc
 * @version 2.0.0
 * @date 2020/9/18
 */
public interface EsignConstants {

    /**
     * 请求业务成功
     */
    int SUCCESS = 0;
    /**
     * token无效
     */
    int UNAUTHORIZED = 401;

    interface personalIdType {
        // 大陆身份证
        String CRED_PSN_CH_IDCARD = "CRED_PSN_CH_IDCARD";
        // 台湾来往大陆通行证
        String CRED_PSN_CH_TWCARD = "CRED_PSN_CH_TWCARD";
        // 澳门来往大陆通行证
        String CRED_PSN_CH_MACAO = "CRED_PSN_CH_MACAO";
        // 香港来往大陆通行证
        String CRED_PSN_CH_HONGKONG = "CRED_PSN_CH_HONGKONG";
        // 外籍证件
        String CRED_PSN_FOREIGN = "CRED_PSN_FOREIGN";
        // 护照
        String CRED_PSN_PASSPORT = "CRED_PSN_PASSPORT";
        // 军官证
        String CRED_PSN_CH_SOLDIER_IDCARD = "CRED_PSN_CH_SOLDIER_IDCARD";
        // 社会保障卡
        String CRED_PSN_CH_SSCARD = "CRED_PSN_CH_SSCARD";
        // 武装警察身份证件
        String CRED_PSN_CH_ARMED_POLICE_IDCARD = "CRED_PSN_CH_ARMED_POLICE_IDCARD";
        // 户口簿
        String CRED_PSN_CH_RESIDENCE_BOOKLET = "CRED_PSN_CH_RESIDENCE_BOOKLET";
        // 临时居民身份证
        String CRED_PSN_CH_TEMPORARY_IDCARD = "CRED_PSN_CH_TEMPORARY_IDCARD";
        // 外国人永久居留证
        String CRED_PSN_CH_GREEN_CARD = "CRED_PSN_CH_GREEN_CARD";
        // 股东代码证
        String CRED_PSN_SHAREHOLDER_CODE = "CRED_PSN_SHAREHOLDER_CODE";
        // 警官证
        String CRED_PSN_POLICE_ID_CARD = "CRED_PSN_POLICE_ID_CARD";
        // 未知类型
        String CRED_PSN_UNKNOWN = "CRED_PSN_UNKNOWN";
    }

    interface orgIdType {
        // 统一社会信用代码
        String CRED_ORG_USCC = "CRED_ORG_USCC";
        // 组织机构代码证
        String CRED_ORG_CODE = "CRED_ORG_CODE";
        // 工商注册号
        String CRED_ORG_REGCODE = "CRED_ORG_REGCODE";
        // 工商登记证
        String CRED_ORG_BUSINESS_REGISTTATION_CODE = "CRED_ORG_BUSINESS_REGISTTATION_CODE";
        // 税务登记证
        String CRED_ORG_TAX_REGISTTATION_CODE = "CRED_ORG_TAX_REGISTTATION_CODE";
        // 法人代码证
        String CRED_ORG_LEGAL_PERSON_CODE = "CRED_ORG_LEGAL_PERSON_CODE";
        // 事业单位法人证书
        String CRED_ORG_ENT_LEGAL_PERSON_CODE = "CRED_ORG_ENT_LEGAL_PERSON_CODE";
        // 社会团体登记证书
        String CRED_ORG_SOCIAL_REG_CODE = "CRED_ORG_SOCIAL_REG_CODE";
        // 民办非机构登记证书
        String CRED_ORG_PRIVATE_NON_ENT_REG_CODE = "CRED_ORG_PRIVATE_NON_ENT_REG_CODE";
        // 外国机构常驻代表机构登记证
        String CRED_ORG_FOREIGN_ENT_REG_CODE = "CRED_ORG_FOREIGN_ENT_REG_CODE";
        // 政府批文
        String CRED_ORG_GOV_APPROVAL = "CRED_ORG_GOV_APPROVAL";
        // 自定义
        String CODE_ORG_CUSTOM = "CODE_ORG_CUSTOM";
        // 未知证件类型
        String CRED_ORG_UNKNOWN = "CRED_ORG_UNKNOWN";
    }

    interface faceauthMode {
        // 腾讯微众银行认证
        String TENCENT = "TENCENT";
        // 支付宝芝麻信用认证
        String ZHIMACREDIT = "ZHIMACREDIT";
        // e签宝刷脸
        String ESIGN = "ESIGN";
    }

    interface Action {
        // 签署人签署完成回调通知
        String SIGN_FLOW_UPDATE = "SIGN_FLOW_UPDATE";
        // 流程结束回调通知
        String SIGN_FLOW_FINISH = "SIGN_FLOW_FINISH";
        // 流程文件过期前提醒通知
        String SIGN_DOC_EXPIRE_REMIND = "SIGN_DOC_EXPIRE_REMIND";
        // 流程文件过期通知
        String SIGN_DOC_EXPIRE = "SIGN_DOC_EXPIRE";
        // 文件添加数字水印完成回调通知
        String BATCH_ADD_WATERMARK_REMIND = "BATCH_ADD_WATERMARK_REMIND";
        // 签署人申请修改身份信息通知
        String FEEDBACK_SIGNERINFO = "FEEDBACK_SIGNERINFO";
    }

    interface NoticeType {
        // 短信
        String SMS = "1";
        // 邮件
        String EMAIL = "2";
    }

    interface SignPlatform {
        // 开放服务h5
        String H5 = "1";
        // 支付宝签
        String ALIPAY = "2";
    }

    interface SignFlowStatus {
        // 草稿
        String DRAFT = "0";
        // 签署中
        String signing = "1";
        // 已完成: 所有签署人完成签署
        String FINISH = "2";
        // 已撤销: 发起方撤销签署任务
        String CANCEL = "3";
        // 已过期: 签署截止日到期后触发
        String PAST_DUE = "5";
        // 已拒签
        String REJECT = "7";
    }

    interface SignAuthStatus {
        // 已发起
        String INIT = "INIT";
        // 进行中
        String ING = "ING";
        // 已成功
        String SUCCESS = "SUCCESS";
        // 已失败
        String FAIL = "FAIL";
    }

    interface SignDateBeanType {
        // 禁止
        Integer BAN = 0;
        // 必须
        Integer MUST = 1;
    }

    interface SealColor {
        // 红色
        String RED = "RED";
        // 蓝色
        String BLUE = "BLUE";
        // 黑色
        String BLACK = "BLACK";
    }

    interface SealPersonalType {
        // 正方形印章
        String SQUARE = "SQUARE";
        // 矩形印章
        String RECTANGLE = "RECTANGLE";
        // 艺术字体印章
        String FZKC = "FZKC";
        // 艺术字体印章
        String YYGXSF = "YYGXSF";
        // 艺术字体印章
        String HYLSF = "HYLSF";
        // 无框矩形印章
        String BORDERLESS = "BORDERLESS";
        // 华文隶书
        String HWLS = "HWLS";
        // 华文行楷
        String HWXK = "HWXK";
        // 带框华文行楷
        String HWXKBORDER = "HWXKBORDER";
        // 叶根友疾风草书
        String YGYJFCS = "YGYJFCS";
        // 叶根友行书
        String YGYMBXS = "YGYMBXS";
    }

    // 机构签约类别, 2-机构盖章
    Integer ACTOR_INDENTITY_TYPE = 2;

    interface signType {
        // 0-不限
        Integer NO_LIMIT = 0;
        // 1-单页签署
        Integer SINGLE_PAGE = 1;
        //  2-骑缝签署
        Integer PERFORATION_SIGN = 2;
    }

    interface fileStatus {
        // 0-文件未上传
        Integer upload_none = 0;
        // 1-文件上传中
        Integer upload_ing = 1;
        // 2-文件上传已完成
        Integer upload_success = 2;
        // 3-文件上传失败
        Integer upload_fail = 3;
        // 4-文件等待转pdf
        Integer file_convert_wait = 4;
        // 5-文件已转换pdf
        Integer file_convert_complete = 5;
        // 6-加水印中
        Integer watermark_ing = 6;
        // 7-加水印完毕
        Integer watermark_complete = 7;
        // 8-文件转换中
        Integer file_convert_ing = 8;
        // 9-文件转换失败
        Integer file_convert_fail = 9;
    }

    interface SignResult {
        // 2-签署完成
        Integer success = 2;
        // 3-失败
        Integer fail = 3;
        // 4-拒签
        Integer rejecct = 4;
    }
}
